import Vue from 'vue'
import vuex from 'vuex'
Vue.use(vuex);
// 公共state对象，存储所有组件的状态
const state = null != window.sessionStorage.getItem('state')?JSON.parse(window.sessionStorage.getItem('state')) : {
  token: '',
}

// 唯一取值的方法，计算属性
const getters = {
  getToken(state){
    return state.token
  }
}

// 唯一可以修改state值的方法，同步阻塞
const mutations = {
  updateToken(state,token){
    state.token = token
  }
}

// 异步调用mutations方法
const actions = {
  asyncUpdateToken(context,token){
    context.commit('updateToken',token)
  }
}
export default new vuex.Store({
  state,
  getters,
  mutations,
  actions
})
